home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 June / EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso / earcd / comm1 / mgplp378.lha / magplip / source / smakefile < prev    next >
Makefile  |  1996-05-13  |  5KB  |  192 lines

  1. #!sc:c/smake
  2. #
  3. #####################################################################
  4. #
  5. #  $VER: smakefile 6.4 (05 Dec 1995)
  6. #
  7. #  (C) Copyright 1995-1996 Marius Gröger
  8. #      All Rights Reserved
  9. #
  10. #####################################################################
  11.  
  12. #####################################################################
  13. #
  14. # installation drawer and names of device
  15. #
  16. INSTALL_DIR = AmiTCP:/Special/DEVS/Networks
  17. DEVICE_DIR  = /DEVS/Networks
  18. BASENAME    = magplip
  19. RELNAME     = magPLIP
  20. NAME        = magplip.device
  21. VERSION     = 37
  22. IDS         = aminet.ids
  23. #
  24. #####################################################################
  25.  
  26. #####################################################################
  27. #
  28. # following stuff is your configuration
  29. #
  30. LIBS        = LIB LIB:amiga.lib LIB lib:sc.lib LIB lib:debug.lib
  31. CINCLUDES   = INCDIR "NETINCLUDE:"
  32. ASMINCLUDES = INCDIR="INCLUDEA:" INCDIR="NETINCLUDE:"
  33. CPUSUFFIX   = 020 # 000 010 020 030 040 ANY
  34. CPUCCOPT    = CPU=68$(CPUSUFFIX)
  35. CP          = C:Copy
  36. MV          = C:Rename
  37. RM          = C:Delete >NIL:
  38. LD          = sc:c/slink
  39. CC          = sc:c/sc
  40. AS          = sc:c/sc
  41. MAKE        = sc:c/smake
  42. BUMPREV     = C:bumprev
  43. SETREV      = C:SetRev
  44. PROTECT     = protect
  45. BUILD_AMINET= /s/build-aminet
  46. ECHO        = Echo
  47. #
  48. #####################################################################
  49.  
  50. #####################################################################
  51. #
  52. # assembler/compiler flags
  53. #
  54. # this applies to normal and optimized compilation:
  55. #
  56. STDFLAGS    = $(CINCLUDES) NOMULTIPLEINCLUDES ERRREXX COMMENTNEST NOSTKCHK NOCHKABORT\
  57.               SMALLCODE SMALLDATA VERBOSE NOICONS STRICT ANSI
  58. #
  59. # this applies only to normal compilation:
  60. #
  61. NORMCFLAGS  = $(STDFLAGS)
  62. #
  63. # this applies only to optimized compilation:
  64. #
  65. OPTCFLAGS   = $(STDFLAGS) $(CPUCCOPT) PARAMETERS=REGISTERS OPT OPTTIME OPTINLINE\
  66.               OPTSCHEDULE STRINGMERGE STRUCTUREEQUIVALENCE
  67. #
  68. # this applies to assembler compilation
  69. #
  70. AFLAGS      = $(ASMINCLUDES) VERBOSE SMALLCODE SMALLDATA
  71. #
  72. #####################################################################
  73.  
  74. #####################################################################
  75. #
  76. # linkage flags
  77. #
  78. LDFLAGS     = NOICONS SC SD ND $(LIBS) TO
  79. OPTLDFLAGS  = NOICONS SC SD ND $(LIBS) TO
  80. #
  81. #####################################################################
  82.  
  83. #####################################################################
  84. #
  85. # the object files
  86. #
  87. NORMOBJ=rt.o device.no server.no track.no crc16.o port.o
  88. OPTOBJ=rt.o device.opt$(CPUSUFFIX) server.opt$(CPUSUFFIX) track.opt$(CPUSUFFIX)\
  89.    crc16.o port.o
  90. #
  91. #####################################################################
  92.  
  93. #####################################################################
  94. #
  95. # rules
  96. #
  97. # compile a file normally
  98. #
  99. .c.no:
  100.    $(CC) $(NORMCFLAGS) OBJECTNAME t:$@ $*.c
  101.    @$(CP) t:$@ $@
  102.    @$(RM) t:$@
  103. #
  104. # compile a file optimizing
  105. #
  106. .c.opt$(CPUSUFFIX):
  107.    $(CC) $(OPTCFLAGS) OBJECTNAME t:$@ $*.c
  108.    @$(CP) t:$@ $@
  109.    @$(RM) t:$@
  110. #
  111. # assemble a file
  112. #
  113. .asm.o:
  114.    $(AS) $(AFLAGS) $*.asm
  115. #
  116. #####################################################################
  117.  
  118. #####################################################################
  119. #
  120. # targets
  121. #
  122. help:
  123.    -@Echo "Usage:"
  124.    -@Echo "To make an unoptimized version"
  125.    -@Echo "   $(MAKE) all"
  126.    -@Echo "To make an optimized version"
  127.    -@Echo "   $(MAKE) all_opt"
  128.    -@Echo "To install an unoptimized version"
  129.    -@Echo "   $(MAKE) install"
  130.    -@Echo "To install an optimized version"
  131.    -@Echo "   $(MAKE) install"
  132.    -@Echo "To increment the revision"
  133.    -@Echo "   $(MAKE) newrev"
  134.    -@Echo "To remove all intermediate files for unoptimized the version"
  135.    -@Echo "   $(MAKE) clean_norm"
  136.    -@Echo "To remove all intermediate files for optimized the version"
  137.    -@Echo "   $(MAKE) clean_opt"
  138.    -@Echo "To %remove all intermediate files"
  139.    -@Echo "   %$(MAKE) clean"
  140.    -@Echo "To create a distribution"
  141.    -@Echo "   $(MAKE) release"
  142.  
  143. all: $(DEVICE_DIR)/$(NAME)
  144. all_opt: $(DEVICE_DIR)/$(NAME).$(CPUSUFFIX)
  145.  
  146. install: all
  147.    $(CP) $(DEVICE_DIR)/$(NAME) $(INSTALL_DIR)/$(NAME)
  148.  
  149. install_opt: all_opt
  150.    $(CP) $(DEVICE_DIR)/$(NAME).$(CPUSUFFIX) $(INSTALL_DIR)/$(NAME)
  151.  
  152. newrev:
  153.    $(BUMPREV) $(VERSION) $(BASENAME)
  154.  
  155. clean_norm:
  156.    -@$(RM) *.o
  157.    -@$(RM) *.no
  158.  
  159. clean_opt:
  160.    -@$(RM) *.o
  161.    -@$(RM) *.opt*
  162.  
  163. clean: clean_norm clean_opt
  164.  
  165. release:
  166.    $(MAKE) CPUSUFFIX=000 all_opt
  167.    $(MAKE) CPUSUFFIX=020 all_opt
  168.    $(MAKE) CPUSUFFIX=040 all_opt
  169.    $(BUILD_AMINET) "$(RELNAME)" "$(BASENAME)" "$(DEVICE_DIR)/$(NAME).$(CPUSUFFIX)" "/ReadMe" "//$(BASENAME)" "$(IDS)" CLEAN
  170.  
  171. $(DEVICE_DIR)/$(NAME).$(CPUSUFFIX): $(OPTOBJ)
  172.    $(LD) $(OPTOBJ) $(OPTLDFLAGS) $@
  173.  
  174. $(DEVICE_DIR)/$(NAME): $(NORMOBJ)
  175.    $(LD) $(NORMOBJ) $(LDFLAGS) $@
  176. #
  177. #####################################################################
  178.  
  179. #####################################################################
  180. #
  181. # various dependencies
  182. #
  183. rt.o: rt.asm magplip.i magplip_rev.i
  184. crc16.o: crc16.asm
  185. port.o: port.asm magplip.i
  186. device.opt$(CPUSUFFIX) device.no: device.c magplip.h
  187. server.opt$(CPUSUFFIX) server.no: server.c magplip.h
  188. track.opt$(CPUSUFFIX) track.no: track.c magplip.h
  189. #
  190. #####################################################################
  191.  
  192.